package com.cloud.pole.shop.service.shops;

import java.util.List;
import java.util.Map;

import com.cloud.pole.shop.model.entity.shops.ShopShops;
import com.cloud.pole.shop.model.entity.shops.ShopShopsAdmin;
import com.cloud.pole.shop.model.entity.shops.ShopShopsView;
import com.cloud.pole.shop.model.entity.shops.ShopShopsWithBLOBs;
import com.cloud.pole.shop.model.vo.shops.MyShopVo;
import com.cloud.pole.shop.model.vo.shops.ShopIndexVo;
import com.github.pagehelper.PageInfo;

/*
*2019年3月1日
*cloud-shop
*author:frank-chen
*/
public interface ShopShopsService {
	
	public boolean checkShopsValid(ShopShopsWithBLOBs shopShops) throws Exception;
	
	public Integer createShopWx(String banner, String shopName, String shopOwnerName, String mobileArea, String shopOwnerMobile, String openId) throws Exception;
	
	public ShopIndexVo getIndexData(String token, Integer shopId, String openId, Long recommUserId) throws Exception;
	
	public Long modifyFansStatus(String token, Integer shopId, String  openId, Integer fansStatus) throws Exception;
	
	public int addViewAndQRCode(String token, Integer shopId, String openId, Long recommUserId) throws Exception;
	
	public ShopShopsView getLastViewShop(String token, String openId) throws Exception;
	
	public MyShopVo getMyShopInfo(String token) throws Exception;
	
	public Integer getMyShopId(String token) throws Exception;

	public boolean modifyMyShop(String token, Integer shopId, String banner, String shopName, String shopOwnerName, String longitude, String latitude, String images,String provinceName,String cityName,String districtName,String address) throws Exception;
	
	public PageInfo<ShopShopsView> getMyShopViewList(String token, Integer shopId, Integer pageSize, Integer pageNum) throws Exception;
	
	public String getWxUserQrCode(String token, Integer shopId, String openId) throws Exception;
	
	public List<ShopShopsView> getUserViewShopList(String token, String openId) throws Exception;

	public List<ShopShopsWithBLOBs> getAllShopList(String token) throws Exception;

	public PageInfo<ShopShopsWithBLOBs> selectPageShopAdminList(String shopName, Integer pageNo,
			Integer pageSize) throws Exception;

	public void addShopShops(String token,Map map) throws Exception;
	
	public ShopShops selectByPrimaryKey(Integer id)throws Exception;
	
	public void updateShopShops(String token,Map map) throws Exception;
}
